package com.spic.business.informatization.meeting.mapper;

import java.util.List;

import com.spic.business.informatization.meeting.domain.MeetingActivity;
import com.spic.business.informatization.meeting.domain.MeetingActivityGroup;
import org.apache.ibatis.annotations.Param;

/**
 * 三会一活动主Mapper接口
 *
 * @author spic
 * @date 2021-11-04
 */
public interface MeetingActivityMapper {
    /**
     * 查询三会一活动主
     *
     * @param id 三会一活动主主键
     * @return 三会一活动主
     */
    public MeetingActivity selectMeetingActivityById(Long id);

    /**
     * 查询三会一活动主列表
     *
     * @param meetingActivity 三会一活动主
     * @return 三会一活动主集合
     */
    public List<MeetingActivity> selectMeetingActivityList(MeetingActivity meetingActivity);

    /**
     * 新增三会一活动主
     *
     * @param meetingActivity 三会一活动主
     * @return 结果
     */
    public int insertMeetingActivity(MeetingActivity meetingActivity);

    /**
     * 修改三会一活动主
     *
     * @param meetingActivity 三会一活动主
     * @return 结果
     */
    public int updateMeetingActivity(MeetingActivity meetingActivity);

    /**
     * 删除三会一活动主
     *
     * @param id 三会一活动主主键
     * @return 结果
     */
    public int deleteMeetingActivityById(Long id);

    /**
     * 获取工作组
     *
     * @param ids 工前会id
     * @return
     */
    List<MeetingActivityGroup> selectGroupId(@Param("ids") List<Long> ids);

    /**
     * 批量删除三会一活动主
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMeetingActivityByIds(Long[] ids);


    /**
     * 批量删除工作负责人分组
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMeetingActivityGroupByIds(Long[] ids);

    /**
     * 批量新增工作负责人分组
     *
     * @param meetingActivityGroupList 工作负责人分组列表
     * @return 结果
     */
    public int batchMeetingActivityGroup(List<MeetingActivityGroup> meetingActivityGroupList);


    /**
     * 通过三会一活动主主键删除工作负责人分组信息
     *
     * @param id 三会一活动主ID
     * @return 结果
     */
    public int deleteMeetingActivityGroupByMeetingActivityId(Long[] id);

    /**
     * 更新活动组
     * @param group
     * @return
     */
    int updateActivityGroup(MeetingActivityGroup group);

    /**
     * 插入工作组
     * @param group
     * @return
     */
    int insertMeetingActivityGroup(MeetingActivityGroup group);
}
